﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;

using System.Data;
using System.Data.SqlClient;
using System.Configuration;

namespace AcademiaInteligenteWeb
{
    public partial class SelectEventoAluno : System.Web.UI.Page 
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            //if(!IsPostBack)
                carregaDdlInstrutor();
        }

        protected void carregaDdlInstrutor()
        {
            ddlInstrutor.DataSource = new WsAcademiaInteligente.WsAcademiaInteligenteSoapClient().ListarFuncionariosTipoInstrutor();
            ddlInstrutor.DataValueField = "Id";
            ddlInstrutor.DataTextField = "Nome";
            ddlInstrutor.DataBind();
            
            WsAcademiaInteligente.Funcionario funcionario = new WsAcademiaInteligente.WsAcademiaInteligenteSoapClient().SelecionarFuncionario(Convert.ToInt32(Session[Util.SESSION_USER_ID]));
            if (funcionario != null)
            {
                ddlInstrutor.Text = funcionario.Id.ToString();
                ddlInstrutor_SelectedIndexChanged(null, null);
            }
        }

        protected void ddlInstrutor_SelectedIndexChanged(object sender, EventArgs e)
        {
            carregaGridEventoAluno();
        }

        protected void carregaGridEventoAluno() 
        {
            //grdAlunosEvento.DataSource = ListarAlunosEventoPorInstrutor(Convert.ToInt32(Request[ddlInstrutor.UniqueID])); //esta chamanda utiliza os métodos da region abaixo e foi implementado para teste
            grdAlunosEvento.DataSource = new WsAcademiaInteligente.WsAcademiaInteligenteSoapClient().ListarAlunosEventoPorInstrutor(Convert.ToInt32(Request[ddlInstrutor.UniqueID]));
            grdAlunosEvento.DataBind();
        }

        #region métodos teste
        /*
        public List<WsAcademiaInteligente.Evento> ListarAlunosEventoPorInstrutor(int idInstrutor)
        {
            string listarAlunosEvento = "ai_sp_listarAlunosDoEventoPorInstrutor";
            List<SqlParameter> parametros = new List<SqlParameter>();
            parametros.Add(new SqlParameter("@idInstrutor", idInstrutor));
            DataSet reader = Selecionar(listarAlunosEvento, true, parametros);

            List<WsAcademiaInteligente.Evento> eventos = new List<WsAcademiaInteligente.Evento>();
            for (int i = 0; i < reader.Tables[0].Rows.Count; i++)
            {
                WsAcademiaInteligente.Evento evento = new WsAcademiaInteligente.Evento();

                evento.Descricao = Convert.ToString(reader.Tables[0].Rows[i][3]);
                evento.Data = Convert.ToDateTime(reader.Tables[0].Rows[i][6]);
                evento.Id = Convert.ToInt32(reader.Tables[0].Rows[i][2]);
                evento.funcionario = new WsAcademiaInteligente.WsAcademiaInteligenteSoapClient().SelecionarFuncionario(Convert.ToInt32(reader.Tables[0].Rows[i][4]));
                evento.cliente = new WsAcademiaInteligente.WsAcademiaInteligenteSoapClient().SelecionarCliente(Convert.ToInt32(reader.Tables[0].Rows[i][0]));
                
                eventos.Add(evento);
            }
            return eventos;
        }
        public DataSet Selecionar(string comando, bool procedure, List<SqlParameter> parametros)
        {
            //SqlConnection con = new SqlConnection(ConfigurationManager.AppSettings["conexao"]);
            SqlConnection con = new SqlConnection("Data Source=186.202.128.216;Initial Catalog=DBDev03;User ID=dbdev03;Password=naruto");
            try
            {
                con.Open();
                SqlCommand cmd = new SqlCommand(comando, con);
                if (procedure)
                    cmd.CommandType = System.Data.CommandType.StoredProcedure;
                cmd.Parameters.Clear();
                foreach (var item in parametros)
                {
                    cmd.Parameters.Add(item);
                }
                DataSet ds = new DataSet();
                new SqlDataAdapter(cmd).Fill(ds);
                return ds;
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                con.Close();
            }
        }
        */
        #endregion
    }
}